package __queue

// Queue 队列接口
type Queue interface {

	// EnQueue 插入新元素e到队尾
	EnQueue(e int) int

	// GetHead 返回队头元素
	// 如果没有队头元素应该返回 err，这里简化为返回-1
	GetHead() int

	// DeQueue 删除队列中队头元素，并用e返回其值
	// 如果没有队头元素返回 err
	DeQueue() (int, error)

	// QueueLength 队列长度
	QueueLength() int

	// QueueEmpty 若队列为空，返回true，否则返回false
	QueueEmpty() bool

	// ClearQueue 将队列清空
	ClearQueue()
}
